As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
Information handling systems include many types of components, such as memory units, processors and I/O ports. These individual components perform tasks such as storing, processing and transmitting data. A local bus may communicatively couple the components in the information handling system and may allow particular commands or messages to be sent between the components. Each component has a unique identifier and responds to a particular address range. By assigning a unique identifier to each of the components, the information handling system can effectively operate because instructions or messages are sent to the correct component.
After a boot operation is initiated in the information handling system, the identifier associated with one or more of the components may change. This identifier change may cause instability in the information handling system if more than one component is responding to messages or instructions sent to the same address range. If two or more components attempt to send or receive information to the same address, the performance of the system may degrade and may lead to a system hang that requires the user to reboot the system.
Previous solutions have focused on using components that dynamically update their associated identifiers. These components usually have the ability to monitor identifiers being used in the information handling system and automatically update their identifiers if a change in any of the identifiers is detected. However, this solution may actually cause instability in the information handling system if a component is present that cannot dynamically update its identifier.
Another solution for preventing two components from having the same identifier only applies during a boot operation. This solution utilizes expansion cards to override the problem of having two components with the same identifier. For example, during the boot operation, the processor uses a boot address to locate the component containing the basic input/output system (BIOS) instructions. If two components respond to the boot address, the system will hang. However, if the system is set up to boot from an expansion card, the system automatically accesses the expansion card and bypasses the two components with identical addresses. This solution, however, does not apply to information handling systems without expansion slots. Furthermore, expansion cards may only be used to solve identifier conflicts during the boot operation.